//
//  ZJBannerView.h
//  YueLoveBaby
//
//  Created by 张敬 on 2018/5/15.
//  Copyright © 2018年 张敬. All rights reserved.
//

#import <UIKit/UIKit.h>

#pragma mark - 原理阐述(自定义轮播图对外接口说明)
/*
 原理阐述：
 轮播图控件采用的控件是UICollectionView，通过其的偏移量实现滚动，通过NSTimer实现自动播放
 这里数据源是N个，我们需要根据数据源得到N+2个NSMutableArray
 *****************
 原始数据源 orignArray = @[1, 2, 3, 4, 5];
 目标数据源 aimsArray = @[5,1, 2, 3, 4, 5,1];
 *****************
 在UICollectionView滚动到最后一个的时候，我们需要将它的位置静默回滚到“1”这个位置，向右滚动时，当滚到第一个的时候，需要静默回滚到“5”这个位置
 *****************
 //轮播图向左滑
 - (void)bannerMoveLeftWithIndex:(NSInteger)index
 {
 if (index == _collectionArray.count-1) {
 _currentIndex = 1;
 NSIndexPath *indexPath = [NSIndexPath indexPathForRow:_currentIndex inSection:0];
 [self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionNone animated:NO];
 }
 else
 {
 _currentIndex = index;
 NSIndexPath *indexPath = [NSIndexPath indexPathForRow:_currentIndex inSection:0];
 [_collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionLeft animated:YES];
 }
 bannerPageIndex_ = _currentIndex -1;
 _pageControl.currentPage = bannerPageIndex_;
 }
 *****************
 */

@class TJBannerView;

#pragma mark - 交互方法_begin(提供了Delegate/Block)
@protocol XXTGBannerDelegate <NSObject>

@optional
- (void)banber:(TJBannerView *)bannerView clickedBannerIndex:(NSInteger)index;
@end

typedef void(^customBannerClickedBlock)(NSInteger index);

#pragma mark -交互方法_end

@interface TJBannerView : UIView

@property (nonatomic, weak) id<XXTGBannerDelegate> delegate;
@property (nonatomic, copy) customBannerClickedBlock bannerBlock;
@property (nonatomic, assign) CGRect bannerPageControlFrame;

@property (nonatomic, strong) NSArray *imageArray;

#pragma mark - Public Methods(暂停/继续)
//暂停
- (void)bannerTimerSuspended;
//继续
- (void)bannerTimerContinued;

@end


